package com.cleaningcloud.cld.service.impl;

import java.util.List;

import com.cleaningcloud.cld.api.domain.CldStaff;
import com.cleaningcloud.cld.domain.vo.CldStaffVo;
import com.cleaningcloud.cld.domain.vo.CldTemporaryVo;
import com.cleaningcloud.cld.mapper.CldStaffMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.cleaningcloud.cld.mapper.CldTemporaryMapper;
import com.cleaningcloud.cld.domain.CldTemporary;
import com.cleaningcloud.cld.service.ICldTemporaryService;

/**
 * 临时工作安排信息Service业务层处理
 * 
 * @author cleaningcloud
 * @date 2025-06-12
 */
@Service
public class CldTemporaryServiceImpl implements ICldTemporaryService 
{
    @Autowired
    private CldTemporaryMapper cldTemporaryMapper;

    @Autowired
    private CldStaffMapper cldStaffMapper;

    /**
     * 查询临时工作安排信息
     * 
     * @param temporaryId 临时工作安排信息主键
     * @return 临时工作安排信息
     */
    @Override
    public CldTemporary selectCldTemporaryByTemporaryId(Long temporaryId)
    {
        return cldTemporaryMapper.selectCldTemporaryByTemporaryId(temporaryId);
    }

    /**
     * 查询临时工作安排信息列表
     * 
     * @param cldTemporaryVo 临时工作安排信息
     * @return 临时工作安排信息
     */
    @Override
    public List<CldTemporaryVo> selectCldTemporaryList(CldTemporaryVo cldTemporaryVo)
    {
        List<CldTemporaryVo> list = cldTemporaryMapper.selectCldTemporaryList(cldTemporaryVo);
        if(!list.isEmpty()){
            for(CldTemporaryVo vo : list){
                if(null != vo.getHandleStaffId()) {
                    String[] staffIds = vo.getHandleStaffId().split(",");
                    String staffNames = "";
                    for (String staffId : staffIds) {
                        CldStaffVo obj = cldStaffMapper.selectCldStaffByStaffId(Long.valueOf(staffId));
                        if(null != obj){
                            staffNames = staffNames + obj.getStaffName() + ",";
                        }
                    }
                    if(!staffNames.equals("")){
                        staffNames = staffNames.substring(0, staffNames.length() - 1);
                        vo.setHandleStaffName(staffNames);
                    }
                }
            }
        }
        return list;
    }

    /**
     * 新增临时工作安排信息
     * 
     * @param cldTemporary 临时工作安排信息
     * @return 结果
     */
    @Override
    public int insertCldTemporary(CldTemporary cldTemporary)
    {
        return cldTemporaryMapper.insertCldTemporary(cldTemporary);
    }

    /**
     * 修改临时工作安排信息
     * 
     * @param cldTemporary 临时工作安排信息
     * @return 结果
     */
    @Override
    public int updateCldTemporary(CldTemporary cldTemporary)
    {
        return cldTemporaryMapper.updateCldTemporary(cldTemporary);
    }

    /**
     * 批量删除临时工作安排信息
     * 
     * @param temporaryIds 需要删除的临时工作安排信息主键
     * @return 结果
     */
    @Override
    public int deleteCldTemporaryByTemporaryIds(Long[] temporaryIds)
    {
        return cldTemporaryMapper.deleteCldTemporaryByTemporaryIds(temporaryIds);
    }

    /**
     * 删除临时工作安排信息信息
     * 
     * @param temporaryId 临时工作安排信息主键
     * @return 结果
     */
    @Override
    public int deleteCldTemporaryByTemporaryId(Long temporaryId)
    {
        return cldTemporaryMapper.deleteCldTemporaryByTemporaryId(temporaryId);
    }
}
